Interpreter: allow declaring local vars during a pry session #12180
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If you have a program like this:
When you run it through the interpreter, this would happen before this PR:
That is, you couldn't declare new local variables during a pry session. I think that reduces the usefulness of pry by a lot!
With this PR:
That is, not only we can declare new local variables, we can also modify their type. This is similar to how it works when you just do
crystal i
, outside of pry.Note that you will get an error if you try to change the type of
a
, because that's already compiled and it would be wrong to change its type: